<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------
use thinkcms\auth\library\Tree;
use app\admin\model\ArticleCategory;
// 应用公共文件
//获取所有的分类

/**
 * 获取分类的option菜单
 * @param int $selected
 * @return string
 */
function category($selected = 1)
{
    $array = '';
    $result = ArticleCategory::where('')->order(["list_order" => "asc",'id'=>'asc'])->column('*','id');

    $tree = new Tree();
    foreach ($result as $r) {
        $r['selected'] = $r['id'] == $selected ? 'selected' : '';
        $array[] = $r;
    }
    $str = "<option value='\$id' \$selected>\$spacer \$name</option>";
    $tree->init($array);
    $parentid = isset($where['parentid'])?$where['parentid']:0;

    return $tree->get_tree($parentid, $str);
}

function uploadWidget($inputName = null, $accept = [] , $limit_num = 1, $limit_size = '300000')
{

    $url = url("Upload/fileupload");
    $html = <<<html
<link rel="stylesheet" type="text/css" href="__PublicPlugins__/webuploader/webuploader.css">
<!--引入JS-->
<script type="text/javascript" src="__PublicPlugins__/webuploader/webuploader.js"></script>
<input type="hidden" name="{$inputName}" value="" id="uploadFileInput" />
<div id="uploader" class="wu-example">
    <!--用来存放文件信息-->
    <div id="thelist" class="uploader-list"></div>
    <div class="btns">
        <div id="picker">选择文件</div>
        <!--<button id="ctlBtn" class="btn btn-default">开始上传</button>-->
    </div>
</div>
<script >
var uploader = WebUploader.create({
    auto: true,
    // swf文件路径
    swf: '__PublicPlugins__/webuploader/Uploader.swf',
    // 文件接收服务端。
    server: '{$url}',
    duplicate:true,
    // 选择文件的按钮。可选。
    // 内部根据当前运行是创建，可能是input元素，也可能是flash.
    pick: '#picker',
    // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
    resize: false,
    fileNumLimit: {$limit_num},
    fileSizeLimit: {$limit_size}
});
// 文件上传过程中创建进度条实时显示。
uploader.on( 'uploadProgress', function( file, percentage ) {
    var li = $( '#'+file.id ),
        percent = li.find('.progress .progress-bar');

    // 避免重复创建
    if ( !percent.length ) {
        percent = $('<div class="progress progress-striped active">' +
          '<div class="progress-bar" role="progressbar" style="width: 0%">' +
          '</div>' +
        '</div>').appendTo( li ).find('.progress-bar');
    }

    li.find('p.state').text('上传中');

    percent.css( 'width', percentage * 100 + '%' );
});
uploader.on( 'uploadSuccess', function( file, respone ) {
    //将上传的表单id放入input
    console.log(respone);
    var idsInput = $('#uploadFileInput');
    var ids = idsInput.val() ? idsInput.val() : '';
    ids  += respone.data.id + ',';
    idsInput.val(ids);
    console.log(ids);
    $( '#'+file.id ).find('p.state').text('已上传');
});

uploader.on( 'uploadError', function( file ) {
    $( '#'+file.id ).find('p.state').text('上传出错');
});

uploader.on( 'uploadComplete', function( file ) {
    $( '#'+file.id ).find('.progress').fadeOut();
});
</script>
html;
    echo $html;
}